设状态$f[i][j]$为从坐标$(i,j)$走到最后一行的期望
此时需要分类讨论,由于$f[n]j=0$,所以我们倒着枚举行,也可感性理解为从最后一行走到第x行
当$j=1$时,$f[i][1]=\frac{1}{3}f[i][1]+\frac{1}{3}f[i][2]+\frac{1}{3}f[i+1][1]+1$
当$j=m$时,$f[i][m]=\frac{1}{3}f[i][m]+\frac{1}{3}f[i][m-1]+\frac{1}{3}f[i+1][m]+1$
当$1<j<m$时,$f[i][j]=\frac{1}{4}f[i][j-1]+\frac{1}{4}f[i][j]+\frac{1}{4}f[i][j+1]+\frac{1}{4}f[i+1][j]+1$
然后我们发现这个式子是有后效性的,所以要$dp+$高斯消元。
为了更好高斯消元,我们可以压掉第一维,式子中的$f[i+1]$计为数组$last$。(但我实现上还是用了两维)
经过移项化简后得到:
当$j=1$时,$2f[1]-f[2]=last[i] + 3$
当$j=m$时,$-f[m-1]+2f[m]=last[m]+3$
当$1<j<m$时,$-f[j-1]+3f[j]-f[j+1]=last[j]+4$
由于是倒着枚举,所以$last$数组在转移前已经知道了,这就完全是个高斯消元的式子了,用矩阵表示就会变成下面这个样子
$\begin{bmatrix}2\ &-1\ &0\ &0\ &0\-1\ &3\ &-1\ &0\ &0\0 &-1\ &3\ &-1\ & 0\0\ &0\ &-1\ &3\ &-1\0\ &0\ &0\ &-1\ &2\end{bmatrix}$
用高斯消元显然会T,但是我们发现每行最多只有$3$个非$0$元素,所以我们可以暴力模拟高斯消元求解,最后答案就是$f[x][y]$
1 |
|